package com.jiantong.lawEnforcing.service;

import com.jiantong.lawEnforcing.dto.CasesCheckDto;
import com.jiantong.lawEnforcing.model.CasesCheck;
import io.terminus.common.model.Paging;
import io.terminus.common.model.Response;

import java.util.List;

/**
 * 立案审批
 * Created by mz03 on 2017/8/14.
 */
public interface CasesCheckService {

    /**
     * id 查找
     * @param id
     * @return News
     */
    Response<CasesCheck> finById(Long id);

    /**
     * id 查找CasesCheckDto
     * @param id
     * @return News
     */
    Response<CasesCheckDto> findCasesCheckDtoById(Long id);


    /**
     * cases_basic_id 查找CasesCheckDto
     * @param cases_basic_id
     * @return News
     */
    Response<CasesCheckDto> findByCases_basic_id(Long cases_basic_id);


    /**
     * 创建新闻新单据
     * @param casesCheck 单据对象
     * @return 主键 id
     */
    Response<Long> create(CasesCheck casesCheck);



    /**
     * 更新新闻的单据
     * @param casesCheck 单据对象
     * @return true or false
     */
    Response<Boolean> update(CasesCheck casesCheck);

    /**
     * 根据状态分页查询
     * @param pageNo
     * @param pageSize
     * @param status
     * @param is_succeed
     * @param cause_action
     * @param cases_source
     * @param parties_type
     * @param parties_name
     * @return
     */
    Response<Paging<CasesCheck>> pagingByStatus(
            Integer pageNo,
            Integer pageSize,
            List<Integer> status,
            Integer is_succeed,
            String cause_action,
            Integer cases_source,
            Integer parties_type,
            String parties_name
    );

    /**
     * 根据状态分页查询 DTO
     * @param pageNo
     * @param pageSize
     * @param status
     * @param is_succeed
     * @param cause_action
     * @param cases_source
     * @param parties_type
     * @param parties_name
     * @return
     */
    Response<Paging<CasesCheckDto>> pagingCasesCheckDto(
            Integer pageNo,
            Integer pageSize,
            List<Integer> status,
            Integer is_succeed,
            String cause_action,
            Integer cases_source,
            Integer parties_type,
            String parties_name
    );

}
